Architecture Patterns

Architecture Patterns

Architecture pattern

  • is a package of design decisions that is found repeatedly in practice,

  • has known properties that permit reuse, and describes a class of architectures.

Architecture pattern establishes a relationship between:

  • A context: A recurring, common situation in the world that gives rise to a problem.

  • A problem: The problem, appropriately generalized, that arises in the given context.

  • A solution: A successful architecture resolution to the problem, appropriately abstracted.

Elements + Relations + Constraints

Module View/Style

Layered Pattern

alt text

alt text

micro-kernel-pattern?

Component-Connector View/Style

Broker Pattern

alt text

alt text

MVC(Model-View-Controller Pattern)

alt text

alt text

Pipe-and-Filter Pattern

alt text

alt text

Client-Server Pattern

alt text

Peer to Peer Pattern

alt text

alt text

Service - Oriented Pattern

alt text

alt text

Publish - Subscribe Pattern

alt text

alt text

Shared Data Pattern

alt text

alt text

Allocation View/Style

Map Reduce Pattern

alt text

alt text

Multi-Tier Pattern

alt text

alt text

Pattern vs Tactics

Tactics are simpler than patterns; they use a single structure or mechanism to address a single architectural force.

Patterns typically combine multiple design decisions into a package.

Patterns and tactics together constitute the software architect’s primary tools.

Tactics are “building blocks” of design from which architectural patterns are created.

Most patterns consist of several different tactics that may:

  • all serve a common purpose,

  • be often chosen to promise different quality attributes.

alt text


Architecture Patterns
https://perticevassly.github.io/project/2025/06/12/se-system-design/Architecture-Patterns/
作者
eqSun
发布于
2025年6月12日
许可协议